home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-09-17 | 82.2 KB | 2,641 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMAAIILL RREEFFEERREENNCCEE MMAANNUUAALL
-
-
-
-
- _K_u_r_t _S_h_o_e_n_s
-
-
- Revised by
-
-
- _C_r_a_i_g _L_e_r_e_s and _M_a_r_k _A_n_d_r_e_w_s
-
-
- Version 5.5
-
-
- June 25, 1998
-
-
- 11.. IInnttrroodduuccttiioonn
-
- _M_a_i_l provides a simple and friendly environment for
- sending and receiving mail. It divides incoming mail into
- its constituent messages and allows the user to deal with
- them in any order. In addition, it provides a set of _e_d-
- like commands for manipulating messages and sending mail.
- _M_a_i_l offers the user simple editing capabilities to ease the
- composition of outgoing messages, as well as providing the
- ability to define and send to names which address groups of
- users. Finally, _M_a_i_l is able to send and receive messages
- across such networks as the ARPANET, UUCP, and Berkeley net-
- work.
-
- This document describes how to use the _M_a_i_l program to
- send and receive messages. The reader is not assumed to be
- familiar with other message handling systems, but should be
- familiar with the UNIX1 shell, the text editor, and some of
- the common UNIX commands. "The UNIX Programmer's Manual,"
- "An Introduction to Csh," and "Text Editing with Ex and Vi"
- can be consulted for more information on these topics.
-
- ____________________
- 1 UNIX is a trademark of Bell Laboratories.
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--22 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- Here is how messages are handled: the mail system
- accepts incoming _m_e_s_s_a_g_e_s for you from other people and col-
- lects them in a file, called your _s_y_s_t_e_m _m_a_i_l_b_o_x. When you
- login, the system notifies you if there are any messages
- waiting in your system mailbox. If you are a _c_s_h user, you
- will be notified when new mail arrives if you inform the
- shell of the location of your mailbox. On version 7 sys-
- tems, your system mailbox is located in the directory
- /usr/spool/mail in a file with your login name. If your
- login name is "sam," then you can make _c_s_h notify you of new
- mail by including the following line in your .cshrc file:
-
- set mail=/usr/spool/mail/sam
-
- When you read your mail using _M_a_i_l, it reads your system
- mailbox and separates that file into the individual messages
- that have been sent to you. You can then read, reply to,
- delete, or save these messages. Each message is marked with
- its author and the date they sent it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--33
-
-
- 22.. CCoommmmoonn uussaaggee
-
- The _M_a_i_l command has two distinct usages, according to
- whether one wants to send or receive mail. Sending mail is
- simple: to send a message to a user whose login name is,
- say, "root," use the shell command:
-
- % Mail root
-
- then type your message. When you reach the end of the mes-
- sage, type an EOT (control-d) at the beginning of a line,
- which will cause _M_a_i_l to echo "EOT" and return you to the
- Shell. When the user you sent mail to next logs in, he will
- receive the message:
-
- You have mail.
-
- to alert him to the existence of your message.
-
- If, while you are composing the message you decide that
- you do not wish to send it after all, you can abort the let-
- ter with a RUBOUT. Typing a single RUBOUT causes _M_a_i_l to
- print
-
- (Interrupt -- one more to kill letter)
-
- Typing a second RUBOUT causes _M_a_i_l to save your partial let-
- ter on the file "dead.letter" in your home directory and
- abort the letter. Once you have sent mail to someone, there
- is no way to undo the act, so be careful.
-
- The message your recipient reads will consist of the
- message you typed, preceded by a line telling who sent the
- message (your login name) and the date and time it was sent.
-
- If you want to send the same message to several other
- people, you can list their login names on the command line.
- Thus,
-
- % Mail sam bob john
- Tuition fees are due next Friday. Don't forget!!
- <Control-d>
- EOT
- %
-
- will send the reminder to sam, bob, and john.
-
- If, when you log in, you see the message,
-
- You have mail.
-
- you can read the mail by typing simply:
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--44 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- % Mail
-
- _M_a_i_l will respond by typing its version number and date and
- then listing the messages you have waiting. Then it will
- type a prompt and await your command. The messages are
- assigned numbers starting with 1 -- you refer to the mes-
- sages with these numbers. _M_a_i_l keeps track of which mes-
- sages are _n_e_w (have been sent since you last read your mail)
- and _r_e_a_d (have been read by you). New messages have an NN
- next to them in the header listing and old, but unread mes-
- sages have a UU next to them. _M_a_i_l keeps track of new/old
- and read/unread messages by putting a header field called
- "Status" into your messages.
-
- To look at a specific message, use the ttyyppee command,
- which may be abbreviated to simply tt. For example, if you
- had the following messages:
-
- N 1 root Wed Sep 21 09:21 "Tuition fees"
- N 2 sam Tue Sep 20 22:55
-
- you could examine the first message by giving the command:
-
- type 1
-
- which might cause _M_a_i_l to respond with, for example:
-
- Message 1:
- From root Wed Sep 21 09:21:45 1978
- Subject: Tuition fees
- Status: R
-
- Tuition fees are due next Wednesday. Don't forget!!
-
-
- Many _M_a_i_l commands that operate on messages take a message
- number as an argument like the ttyyppee command. For these com-
- mands, there is a notion of a current message. When you
- enter the _M_a_i_l program, the current message is initially the
- first one. Thus, you can often omit the message number and
- use, for example,
-
- t
-
- to type the current message. As a further shorthand, you
- can type a message by simply giving its message number.
- Hence,
-
- 1
-
- would type the first message.
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--55
-
-
- Frequently, it is useful to read the messages in your
- mailbox in order, one after another. You can read the next
- message in _M_a_i_l by simply typing a newline. As a special
- case, you can type a newline as your first command to _M_a_i_l
- to type the first message.
-
- If, after typing a message, you wish to immediately
- send a reply, you can do so with the rreeppllyy command. RReeppllyy,
- like ttyyppee, takes a message number as an argument. _M_a_i_l then
- begins a message addressed to the user who sent you the mes-
- sage. You may then type in your letter in reply, followed
- by a <control-d> at the beginning of a line, as before.
- _M_a_i_l will type EOT, then type the ampersand prompt to indi-
- cate its readiness to accept another command. In our exam-
- ple, if, after typing the first message, you wished to reply
- to it, you might give the command:
-
- reply
-
- _M_a_i_l responds by typing:
-
- To: root
- Subject: Re: Tuition fees
-
- and waiting for you to enter your letter. You are now in
- the message collection mode described at the beginning of
- this section and _M_a_i_l will gather up your message up to a
- control-d. Note that it copies the subject header from the
- original message. This is useful in that correspondence
- about a particular matter will tend to retain the same sub-
- ject heading, making it easy to recognize. If there are
- other header fields in the message, the information found
- will also be used. For example, if the letter had a "To:"
- header listing several recipients, _M_a_i_l would arrange to
- send your replay to the same people as well. Similarly, if
- the original message contained a "Cc:" (carbon copies to)
- field, _M_a_i_l would send your reply to _t_h_o_s_e users, too. _M_a_i_l
- is careful, though, not too send the message to _y_o_u, even if
- you appear in the "To:" or "Cc:" field, unless you ask to be
- included explicitly. See section 4 for more details.
-
- After typing in your letter, the dialog with _M_a_i_l might
- look like the following:
-
- reply
- To: root
- Subject: Tuition fees
-
- Thanks for the reminder
- EOT
- &
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--66 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- The rreeppllyy command is especially useful for sustaining
- extended conversations over the message system, with other
- "listening" users receiving copies of the conversation. The
- rreeppllyy command can be abbreviated to rr.
-
- Sometimes you will receive a message that has been sent
- to several people and wish to reply _o_n_l_y to the person who
- sent it. RReeppllyy with a capital RR replies to a message, but
- sends a copy to the sender only.
-
- If you wish, while reading your mail, to send a message
- to someone, but not as a reply to one of your messages, you
- can send the message directly with the mmaaiill command, which
- takes as arguments the names of the recipients you wish to
- send to. For example, to send a message to "frank," you
- would do:
-
- mail frank
- This is to confirm our meeting next Friday at 4.
- EOT
- &
-
- The mmaaiill command can be abbreviated to mm.
-
- Normally, each message you receive is saved in the file
- _m_b_o_x in your login directory at the time you leave _M_a_i_l.
- Often, however, you will not want to save a particular mes-
- sage you have received because it is only of passing inter-
- est. To avoid saving a message in _m_b_o_x you can delete it
- using the ddeelleettee command. In our example,
-
- delete 1
-
- will prevent _M_a_i_l from saving message 1 (from root) in _m_b_o_x.
- In addition to not saving deleted messages, _M_a_i_l will not
- let you type them, either. The effect is to make the mes-
- sage disappear altogether, along with its number. The
- ddeelleettee command can be abbreviated to simply dd.
-
- Many features of _M_a_i_l can be tailored to your liking
- with the sseett command. The sseett command has two forms,
- depending on whether you are setting a _b_i_n_a_r_y option or a
- _v_a_l_u_e_d option. Binary options are either on or off. For
- example, the "ask" option informs _M_a_i_l that each time you
- send a message, you want it to prompt you for a subject
- header, to be included in the message. To set the "ask"
- option, you would type
-
- set ask
-
-
- Another useful _M_a_i_l option is "hold." Unless told oth-
- erwise, _M_a_i_l moves the messages from your system mailbox to
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--77
-
-
- the file _m_b_o_x in your home directory when you leave _M_a_i_l.
- If you want _M_a_i_l to keep your letters in the system mailbox
- instead, you can set the "hold" option.
-
- Valued options are values which _M_a_i_l uses to adapt to
- your tastes. For example, the "SHELL" option tells _M_a_i_l
- which shell you like to use, and is specified by
-
- set SHELL=/bin/csh
-
- for example. Note that no spaces are allowed in
- "SHELL=/bin/csh." A complete list of the _M_a_i_l options
- appears in section 5.
-
- Another important valued option is "crt." If you use a
- fast video terminal, you will find that when you print long
- messages, they fly by too quickly for you to read them.
- With the "crt" option, you can make _M_a_i_l print any message
- larger than a given number of lines by sending it through a
- paging program. This program is specified by the valued
- option PPAAGGEERR. If PPAAGGEERR is not set, a default paginator is
- used. For example, most CRT users with 24-line screens
- should do:
-
- set crt=24
-
- to paginate messages that will not fit on their screens. In
- the default state, _m_o_r_e (default paginator) prints a screen-
- ful of information, then types --More--. Type a space to
- see the next screenful.
-
- Another adaptation to user needs that _M_a_i_l provides is
- that of _a_l_i_a_s_e_s. An alias is simply a name which stands for
- one or more real user names. _M_a_i_l sent to an alias is
- really sent to the list of real users associated with it.
- For example, an alias can be defined for the members of a
- project, so that you can send mail to the whole project by
- sending mail to just a single name. The aalliiaass command in
- _M_a_i_l defines an alias. Suppose that the users in a project
- are named Sam, Sally, Steve, and Susan. To define an alias
- called "project" for them, you would use the _M_a_i_l command:
-
- alias project sam sally steve susan
-
- The aalliiaass command can also be used to provide a convenient
- name for someone whose user name is inconvenient. For exam-
- ple, if a user named "Bob Anderson" had the login name
- "anderson,"" you might want to use:
-
- alias bob anderson
-
- so that you could send mail to the shorter name, "bob."
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--88 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- While the aalliiaass and sseett commands allow you to customize
- _M_a_i_l, they have the drawback that they must be retyped each
- time you enter _M_a_i_l. To make them more convenient to use,
- _M_a_i_l always looks for two files when it is invoked. It
- first reads a system wide file "/usr/lib/Mail.rc," then a
- user specific file, ".mailrc," which is found in the user's
- home directory. The system wide file is maintained by the
- system administrator and contains sseett commands that are
- applicable to all users of the system. The ".mailrc" file
- is usually used by each user to set options the way he likes
- and define individual aliases. For example, my .mailrc file
- looks like this:
-
- set ask nosave SHELL=/bin/csh
-
- As you can see, it is possible to set many options in the
- same sseett command. The "nosave" option is described in sec-
- tion 5.
-
- Mail aliasing is implemented at the system-wide level
- by the mail delivery system _s_e_n_d_m_a_i_l. These aliases are
- stored in the file /usr/lib/aliases and are accessible to
- all users of the system. The lines in /usr/lib/aliases are
- of the form:
-
- alias: name1, name2, name3
-
- where _a_l_i_a_s is the mailing list name and the _n_a_m_e_i are the
- members of the list. Long lists can be continued onto the
- next line by starting the next line with a space or tab.
- Remember that you must execute the shell command _n_e_w_a_l_i_a_s_e_s
- after editing /usr/lib/aliases since the delivery system
- uses an indexed file created by _n_e_w_a_l_i_a_s_e_s.
-
- We have seen that _M_a_i_l can be invoked with command line
- arguments which are people to send the message to, or with
- no arguments to read mail. Specifying the --ff flag on the
- command line causes _M_a_i_l to read messages from a file other
- than your system mailbox. For example, if you have a col-
- lection of messages in the file "letters" you can use _M_a_i_l
- to read them with:
-
- % Mail -f letters
-
- You can use all the _M_a_i_l commands described in this document
- to examine, modify, or delete messages from your "letters"
- file, which will be rewritten when you leave _M_a_i_l with the
- qquuiitt command described below.
-
- Since mail that you read is saved in the file _m_b_o_x in
- your home directory by default, you can read _m_b_o_x in your
- home directory by using simply
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--99
-
-
- % Mail -f
-
-
- Normally, messages that you examine using the ttyyppee com-
- mand are saved in the file "mbox" in your home directory if
- you leave _M_a_i_l with the qquuiitt command described below. If
- you wish to retain a message in your system mailbox you can
- use the pprreesseerrvvee command to tell _M_a_i_l to leave it there.
- The pprreesseerrvvee command accepts a list of message numbers, just
- like ttyyppee and may be abbreviated to pprree.
-
- Messages in your system mailbox that you do not examine
- are normally retained in your system mailbox automatically.
- If you wish to have such a message saved in _m_b_o_x without
- reading it, you may use the mmbbooxx command to have them so
- saved. For example,
-
- mbox 2
-
- in our example would cause the second message (from sam) to
- be saved in _m_b_o_x when the qquuiitt command is executed. MMbbooxx is
- also the way to direct messages to your _m_b_o_x file if you
- have set the "hold" option described above. MMbbooxx can be
- abbreviated to mmbb.
-
- When you have perused all the messages of interest, you
- can leave _M_a_i_l with the qquuiitt command, which saves the mes-
- sages you have typed but not deleted in the file _m_b_o_x in
- your login directory. Deleted messages are discarded irre-
- trievably, and messages left untouched are preserved in your
- system mailbox so that you will see them the next time you
- type:
-
- % Mail
-
- The qquuiitt command can be abbreviated to simply qq.
-
- If you wish for some reason to leave _M_a_i_l quickly with-
- out altering either your system mailbox or _m_b_o_x, you can
- type the xx command (short for eexxiitt), which will immediately
- return you to the Shell without changing anything.
-
- If, instead, you want to execute a Shell command with-
- out leaving _M_a_i_l, you can type the command preceded by an
- exclamation point, just as in the text editor. Thus, for
- instance:
-
- !date
-
- will print the current date without leaving _M_a_i_l.
-
- Finally, the hheellpp command is available to print out a
- brief summary of the _M_a_i_l commands, using only the single
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--1100 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- character command abbreviations.
-
- 33.. MMaaiinnttaaiinniinngg ffoollddeerrss
-
- _M_a_i_l includes a simple facility for maintaining groups
- of messages together in folders. This section describes
- this facility.
-
- To use the folder facility, you must tell _M_a_i_l where
- you wish to keep your folders. Each folder of messages will
- be a single file. For convenience, all of your folders are
- kept in a single directory of your choosing. To tell _M_a_i_l
- where your folder directory is, put a line of the form
-
- set folder=letters
-
- in your _._m_a_i_l_r_c file. If, as in the example above, your
- folder directory does not begin with a `/,' _M_a_i_l will assume
- that your folder directory is to be found starting from your
- home directory. Thus, if your home directory is //uussrr//ppeerrssoonn
- the above example told _M_a_i_l to find your folder directory in
- //uussrr//ppeerrssoonn//lleetttteerrss.
-
- Anywhere a file name is expected, you can use a folder
- name, preceded with `+.' For example, to put a message into
- a folder with the ssaavvee command, you can use:
-
- save +classwork
-
- to save the current message in the _c_l_a_s_s_w_o_r_k folder. If the
- _c_l_a_s_s_w_o_r_k folder does not yet exist, it will be created.
- Note that messages which are saved with the ssaavvee command are
- automatically removed from your system mailbox.
-
- In order to make a copy of a message in a folder with-
- out causing that message to be removed from your system
- mailbox, use the ccooppyy command, which is identical in all
- other respects to the ssaavvee command. For example,
-
- copy +classwork
-
- copies the current message into the _c_l_a_s_s_w_o_r_k folder and
- leaves a copy in your system mailbox.
-
- The ffoollddeerr command can be used to direct _M_a_i_l to the
- contents of a different folder. For example,
-
- folder +classwork
-
- directs _M_a_i_l to read the contents of the _c_l_a_s_s_w_o_r_k folder.
- All of the commands that you can use on your system mailbox
- are also applicable to folders, including ttyyppee, ddeelleettee, and
- rreeppllyy. To inquire which folder you are currently editing,
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--1111
-
-
- use simply:
-
- folder
-
-
- To list your current set of folders, use the ffoollddeerrss
- command.
-
- To start _M_a_i_l reading one of your folders, you can use
- the --ff option described in section 2. For example:
-
- % Mail -f +classwork
-
- will cause _M_a_i_l to read your _c_l_a_s_s_w_o_r_k folder without look-
- ing at your system mailbox.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--1122 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- 44.. MMoorree aabboouutt sseennddiinngg mmaaiill
-
- 44..11.. TTiillddee eessccaappeess
-
- While typing in a message to be sent to others, it is
- often useful to be able to invoke the text editor on the
- partial message, print the message, execute a shell command,
- or do some other auxiliary function. _M_a_i_l provides these
- capabilities through _t_i_l_d_e _e_s_c_a_p_e_s, which consist of a tilde
- (~) at the beginning of a line, followed by a single charac-
- ter which indicates the function to be performed. For exam-
- ple, to print the text of the message so far, use:
-
- ~p
-
- which will print a line of dashes, the recipients of your
- message, and the text of the message so far. Since _M_a_i_l
- requires two consecutive RUBOUT's to abort a letter, you can
- use a single RUBOUT to abort the output of ~p or any other ~
- escape without killing your letter.
-
- If you are dissatisfied with the message as it stands,
- you can invoke the text editor on it using the escape
-
- ~e
-
- which causes the message to be copied into a temporary file
- and an instance of the editor to be spawned. After modify-
- ing the message to your satisfaction, write it out and quit
- the editor. _M_a_i_l will respond by typing
-
- (continue)
-
- after which you may continue typing text which will be
- appended to your message, or type <control-d> to end the
- message. A standard text editor is provided by _M_a_i_l. You
- can override this default by setting the valued option "EDI-
- TOR" to something else. For example, you might prefer:
-
- set EDITOR=/usr/ucb/ex
-
-
- Many systems offer a screen editor as an alternative to
- the standard text editor, such as the _v_i editor from UC
- Berkeley. To use the screen, or _v_i_s_u_a_l editor, on your cur-
- rent message, you can use the escape,
-
- ~v
-
- ~v works like ~e, except that the screen editor is invoked
- instead. A default screen editor is defined by _M_a_i_l. If it
- does not suit you, you can set the valued option "VISUAL" to
- the path name of a different editor.
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--1133
-
-
- It is often useful to be able to include the contents
- of some file in your message; the escape
-
- ~r filename
-
- is provided for this purpose, and causes the named file to
- be appended to your current message. _M_a_i_l complains if the
- file doesn't exist or can't be read. If the read is suc-
- cessful, the number of lines and characters appended to your
- message is printed, after which you may continue appending
- text. The filename may contain shell metacharacters like *
- and ? which are expanded according to the conventions of
- your shell.
-
- As a special case of ~r, the escape
-
- ~d
-
- reads in the file "dead.letter" in your home directory.
- This is often useful since _M_a_i_l copies the text of your mes-
- sage there when you abort a message with RUBOUT.
-
- To save the current text of your message on a file you
- may use the
-
- ~w filename
-
- escape. _M_a_i_l will print out the number of lines and charac-
- ters written to the file, after which you may continue
- appending text to your message. Shell metacharacters may be
- used in the filename, as in ~r and are expanded with the
- conventions of your shell.
-
- If you are sending mail from within _M_a_i_l_'_s command mode
- you can read a message sent to you into the message you are
- constructing with the escape:
-
- ~m 4
-
- which will read message 4 into the current message, shifted
- right by one tab stop. You can name any non-deleted mes-
- sage, or list of messages. Messages can also be forwarded
- without shifting by a tab stop with ~f. This is the usual
- way to forward a message.
-
- If, in the process of composing a message, you decide
- to add additional people to the list of message recipients,
- you can do so with the escape
-
- ~t name1 name2 ...
-
- You may name as few or many additional recipients as you
- wish. Note that the users originally on the recipient list
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--1144 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- will still receive the message; you cannot remove someone
- from the recipient list with ~t.
-
- If you wish, you can associate a subject with your mes-
- sage by using the escape
-
- ~s Arbitrary string of text
-
- which replaces any previous subject with "Arbitrary string
- of text." The subject, if given, is sent near the top of
- the message prefixed with "Subject:" You can see what the
- message will look like by using ~p.
-
- For political reasons, one occasionally prefers to list
- certain people as recipients of carbon copies of a message
- rather than direct recipients. The escape
-
- ~c name1 name2 ...
-
- adds the named people to the "Cc:" list, similar to ~t.
- Again, you can execute ~p to see what the message will look
- like.
-
- The escape
-
- ~b name1 name2 ...
-
- adds the named people to the "Cc:" list, but does not make
- the names visible in the "Cc:" line ("blind" carbon copy).
-
- The recipients of the message together constitute the
- "To:" field, the subject the "Subject:" field, and the car-
- bon copies the "Cc:" field. If you wish to edit these in
- ways impossible with the ~t, ~s, ~c and ~b escapes, you can
- use the escape
-
- ~h
-
- which prints "To:" followed by the current list of recipi-
- ents and leaves the cursor (or printhead) at the end of the
- line. If you type in ordinary characters, they are appended
- to the end of the current list of recipients. You can also
- use your erase character to erase back into the list of
- recipients, or your kill character to erase them altogether.
- Thus, for example, if your erase and kill characters are the
- standard (on printing terminals) # and @ symbols,
-
- ~h
- To: root kurt####bill
-
- would change the initial recipients "root kurt" to "root
- bill." When you type a newline, _M_a_i_l advances to the "Sub-
- ject:" field, where the same rules apply. Another newline
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--1155
-
-
- brings you to the "Cc:" field, which may be edited in the
- same fashion. Another newline brings you to the "Bcc:"
- ("blind" carbon copy) field, which follows the same rules as
- the "Cc:" field. Another newline leaves you appending text
- to the end of your message. You can use ~p to print the
- current text of the header fields and the body of the mes-
- sage.
-
- To effect a temporary escape to the shell, the escape
-
- ~!command
-
- is used, which executes _c_o_m_m_a_n_d and returns you to mailing
- mode without altering the text of your message. If you
- wish, instead, to filter the body of your message through a
- shell command, then you can use
-
- ~|command
-
- which pipes your message through the command and uses the
- output as the new text of your message. If the command pro-
- duces no output, _M_a_i_l assumes that something is amiss and
- retains the old version of your message. A frequently-used
- filter is the command _f_m_t, designed to format outgoing mail.
-
- To effect a temporary escape to _M_a_i_l command mode
- instead, you can use the
-
- ~:_M_a_i_l _c_o_m_m_a_n_d
-
- escape. This is especially useful for retyping the message
- you are replying to, using, for example:
-
- ~:t
-
- It is also useful for setting options and modifying aliases.
-
- If you wish abort the current message, you can use the
- escape
-
- ~q
-
- This will terminate the current message and return you to
- the shell (or _M_a_i_l if you were using the mmaaiill command). If
- the ssaavvee option is set, the message will be copied to the
- file "dead.letter" in your home directory.
-
- If you wish (for some reason) to send a message that
- contains a line beginning with a tilde, you must double it.
- Thus, for example,
-
- ~~This line begins with a tilde.
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--1166 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- sends the line
-
- ~This line begins with a tilde.
-
-
- Finally, the escape
-
- ~?
-
- prints out a brief summary of the available tilde escapes.
-
- On some terminals (particularly ones with no lower
- case) tilde's are difficult to type. _M_a_i_l allows you to
- change the escape character with the "escape" option. For
- example, I set
-
- set escape=]
-
- and use a right bracket instead of a tilde. If I ever need
- to send a line beginning with right bracket, I double it,
- just as for ~. Changing the escape character removes the
- special meaning of ~.
-
- 44..22.. NNeettwwoorrkk aacccceessss
-
- This section describes how to send mail to people on
- other machines. Recall that sending to a plain login name
- sends mail to that person on your machine. If your machine
- is directly (or sometimes, even, indirectly) connected to
- the Arpanet, you can send messages to people on the Arpanet
- using a name of the form
-
- name@host.domain
-
- where _n_a_m_e is the login name of the person you're trying to
- reach, _h_o_s_t is the name of the machine on the Arpanet, and
- _d_o_m_a_i_n is the higher-level scope within which the hostname
- is known, e.g. EDU (for educational institutions), COM (for
- commercial entities), GOV (for governmental agencies), ARPA
- for many other things, BITNET or CSNET for those networks.
-
- If your recipient logs in on a machine connected to
- yours by UUCP (the Bell Laboratories supplied network that
- communicates over telephone lines), sending mail can be a
- bit more complicated. You must know the list of machines
- through which your message must travel to arrive at his
- site. So, if his machine is directly connected to yours,
- you can send mail to him using the syntax:
-
- host!name
-
- where, again, _h_o_s_t is the name of the machine and _n_a_m_e is
- the login name. If your message must go through an
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--1177
-
-
- intermediary machine first, you must use the syntax:
-
- intermediary!host!name
-
- and so on. It is actually a feature of UUCP that the map of
- all the systems in the network is not known anywhere (except
- where people decide to write it down for convenience). Talk
- to your system administrator about good ways to get places;
- the _u_u_n_a_m_e command will tell you systems whose names are
- recognized, but not which ones are frequently called or
- well-connected.
-
- When you use the rreeppllyy command to respond to a letter,
- there is a problem of figuring out the names of the users in
- the "To:" and "Cc:" lists _r_e_l_a_t_i_v_e _t_o _t_h_e _c_u_r_r_e_n_t _m_a_c_h_i_n_e.
- If the original letter was sent to you by someone on the
- local machine, then this problem does not exist, but if the
- message came from a remote machine, the problem must be
- dealt with. _M_a_i_l uses a heuristic to build the correct name
- for each user relative to the local machine. So, when you
- rreeppllyy to remote mail, the names in the "To:" and "Cc:" lists
- may change somewhat.
-
- 44..33.. SSppeecciiaall rreecciippiieennttss
-
- As described previously, you can send mail to either
- user names or aalliiaass names. It is also possible to send mes-
- sages directly to files or to programs, using special con-
- ventions. If a recipient name has a `/' in it or begins
- with a `+', it is assumed to be the path name of a file into
- which to send the message. If the file already exists, the
- message is appended to the end of the file. If you want to
- name a file in your current directory (ie, one for which a
- `/' would not usually be needed) you can precede the name
- with `./' So, to send mail to the file "memo" in the current
- directory, you can give the command:
-
- % Mail ./memo
-
- If the name begins with a `+,' it is expanded into the full
- path name of the folder name in your folder directory. This
- ability to send mail to files can be used for a variety of
- purposes, such as maintaining a journal and keeping a record
- of mail sent to a certain group of users. The second exam-
- ple can be done automatically by including the full pathname
- of the record file in the aalliiaass command for the group.
- Using our previous aalliiaass example, you might give the com-
- mand:
-
- alias project sam sally steve susan /usr/project/mail_record
-
- Then, all mail sent to "project" would be saved on the file
- "/usr/project/mail_record" as well as being sent to the
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--1188 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- members of the project. This file can be examined using
- _M_a_i_l _-_f.
-
- It is sometimes useful to send mail directly to a pro-
- gram, for example one might write a project billboard pro-
- gram and want to access it using _M_a_i_l. To send messages to
- the billboard program, one can send mail to the special name
- `|billboard' for example. _M_a_i_l treats recipient names that
- begin with a `|' as a program to send the mail to. An aalliiaass
- can be set up to reference a `|' prefaced name if desired.
- _C_a_v_e_a_t_s: the shell treats `|' specially, so it must be
- quoted on the command line. Also, the `| program' must be
- presented as a single argument to mail. The safest course
- is to surround the entire name with double quotes. This
- also applies to usage in the aalliiaass command. For example, if
- we wanted to alias `rmsgs' to `rmsgs -s' we would need to
- say:
-
- alias rmsgs "| rmsgs -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--1199
-
-
- 55.. AAddddiittiioonnaall ffeeaattuurreess
-
- This section describes some additional commands useful
- for reading your mail, setting options, and handling lists
- of messages.
-
- 55..11.. MMeessssaaggee lliissttss
-
- Several _M_a_i_l commands accept a list of messages as an
- argument. Along with ttyyppee and ddeelleettee, described in section
- 2, there is the ffrroomm command, which prints the message head-
- ers associated with the message list passed to it. The ffrroomm
- command is particularly useful in conjunction with some of
- the message list features described below.
-
- A _m_e_s_s_a_g_e _l_i_s_t consists of a list of message numbers,
- ranges, and names, separated by spaces or tabs. Message
- numbers may be either decimal numbers, which directly spec-
- ify messages, or one of the special characters "" "." or
- "$" to specify the first relevant, current, or last relevant
- message, respectively. _R_e_l_e_v_a_n_t here means, for most com-
- mands "not deleted" and "deleted" for the uunnddeelleettee command.
-
- A range of messages consists of two message numbers (of
- the form described in the previous paragraph) separated by a
- dash. Thus, to print the first four messages, use
-
- type 1-4
-
- and to print all the messages from the current message to
- the last message, use
-
- type .-$
-
-
- A _n_a_m_e is a user name. The user names given in the
- message list are collected together and each message
- selected by other means is checked to make sure it was sent
- by one of the named users. If the message consists entirely
- of user names, then every message sent by one of those users
- that is _r_e_l_e_v_a_n_t (in the sense described earlier) is
- selected. Thus, to print every message sent to you by
- "root," do
-
- type root
-
-
- As a shorthand notation, you can specify simply "*" to
- get every _r_e_l_e_v_a_n_t (same sense) message. Thus,
-
- type *
-
- prints all undeleted messages,
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--2200 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- delete *
-
- deletes all undeleted messages, and
-
- undelete *
-
- undeletes all deleted messages.
-
- You can search for the presence of a word in subject
- lines with //. For example, to print the headers of all mes-
- sages that contain the word "PASCAL," do:
-
- from /pascal
-
- Note that subject searching ignores upper/lower case differ-
- ences.
-
- 55..22.. LLiisstt ooff ccoommmmaannddss
-
- This section describes all the _M_a_i_l commands available
- when receiving mail.
-
- -- The -- command goes to the previous message and prints
- it. The -- command may be given a decimal number _n as
- an argument, in which case the _nth previous message is
- gone to and printed.
-
- ?? Prints a brief summary of commands.
-
- !! Used to preface a command to be executed by the shell.
-
- PPrriinntt
- Like pprriinntt, but also print out ignored header fields.
- See also pprriinntt, iiggnnoorree and rreettaaiinn. PPrriinntt can be abbre-
- viated to PP.
-
- RReeppllyy or RReessppoonndd
- Note the capital RR in the name. Frame a reply to a one
- or more messages. The reply (or replies if you are
- using this on multiple messages) will be sent ONLY to
- the person who sent you the message (respectively, the
- set of people who sent the messages you are replying
- to). You can add people using the ~~tt, ~~cc and ~~bb tilde
- escapes. The subject in your reply is formed by pref-
- acing the subject in the original message with "Re:"
- unless it already began thus. If the original message
- included a "reply-to" header field, the reply will go
- _o_n_l_y to the recipient named by "reply-to." You type in
- your message using the same conventions available to
- you through the mmaaiill command. The RReeppllyy command is
- especially useful for replying to messages that were
- sent to enormous distribution groups when you really
- just want to send a message to the originator. Use it
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--2211
-
-
- often. RReeppllyy (and RReessppoonndd) can be abbreviated to RR.
-
- TTyyppee
- Identical to the PPrriinntt command. TTyyppee can be abbrevi-
- ated to TT.
-
- aalliiaass
- Define a name to stand for a set of other names. This
- is used when you want to send messages to a certain
- group of people and want to avoid retyping their names.
- For example
-
- alias project john sue willie kathryn
-
- creates an alias _p_r_o_j_e_c_t which expands to the four peo-
- ple John, Sue, Willie, and Kathryn. If no arguments
- are given, all currently-defined aliases are printed.
- If one argument is given, that alias is printed (if it
- exists). AAlliiaass can be abbreviated to aa.
-
- aalltteerrnnaatteess
- If you have accounts on several machines, you may find
- it convenient to use the /usr/lib/aliases on all the
- machines except one to direct your mail to a single
- account. The aalltteerrnnaatteess command is used to inform _M_a_i_l
- that each of these other addresses is really _y_o_u.
- _A_l_t_e_r_n_a_t_e_s takes a list of user names and remembers
- that they are all actually you. When you rreeppllyy to mes-
- sages that were sent to one of these alternate names,
- _M_a_i_l will not bother to send a copy of the message to
- this other address (which would simply be directed back
- to you by the alias mechanism). If _a_l_t_e_r_n_a_t_e_s is given
- no argument, it lists the current set of alternate
- names. AAlltteerrnnaatteess is usually used in the .mailrc file.
- AAlltteerrnnaatteess can be abbreviated to aalltt.
-
- cchhddiirr
- The cchhddiirr command allows you to change your current
- directory. CChhddiirr takes a single argument, which is
- taken to be the pathname of the directory to change to.
- If no argument is given, cchhddiirr changes to your home
- directory. CChhddiirr can be abbreviated to cc.
-
- ccooppyy
- The ccooppyy command does the same thing that ssaavvee does,
- except that it does not mark the messages it is used on
- for deletion when you quit. CCooppyy can be abbreviated to
- ccoo.
-
- ddeelleettee
- Deletes a list of messages. Deleted messages can be
- reclaimed with the uunnddeelleettee command. DDeelleettee can be
- abbreviated to dd.
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--2222 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- ddpp or ddtt
- These commands delete the current message and print the
- next message. They are useful for quickly reading and
- disposing of mail. If there is no next message, _m_a_i_l
- says ``at EOF.''
-
- eeddiitt
- To edit individual messages using the text editor, the
- eeddiitt command is provided. The eeddiitt command takes a
- list of messages as described under the ttyyppee command
- and processes each by writing it into the file Message_x
- where _x is the message number being edited and execut-
- ing the text editor on it. When you have edited the
- message to your satisfaction, write the message out and
- quit, upon which _M_a_i_l will read the message back and
- remove the file. EEddiitt can be abbreviated to ee.
-
- eellssee
- Marks the end of the then-part of an iiff statement and
- the beginning of the part to take effect if the condi-
- tion of the iiff statement is false.
-
- eennddiiff
- Marks the end of an iiff statement.
-
- eexxiitt or xxiitt
- Leave _M_a_i_l without updating the system mailbox or the
- file your were reading. Thus, if you accidentally
- delete several messages, you can use eexxiitt to avoid
- scrambling your mailbox. EExxiitt can be abbreviated to eexx
- or xx.
-
- ffiillee
- The same as ffoollddeerr. FFiillee can be abbreviated to ffii.
-
- ffoollddeerrss
- List the names of the folders in your folder directory.
-
- ffoollddeerr
- The ffoollddeerr command switches to a new mail file or
- folder. With no arguments, it tells you which file you
- are currently reading. If you give it an argument, it
- will write out changes (such as deletions) you have
- made in the current file and read the new file. Some
- special conventions are recognized for the name:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--2233
-
-
-
- Name Meaning
- --------------------------------------------
- # Previous file read
- % Your system mailbox
- %name _N_a_m_e's system mailbox
- & Your ~/mbox file
- +folder A file in your folder directory
-
-
- FFoollddeerr can be abbreviated to ffoo.
-
- ffrroomm
- The ffrroomm command takes a list of messages and prints
- out the header lines for each one; hence
-
- from joe
-
- is the easy way to display all the message headers from
- "joe." FFrroomm can be abbreviated to ff.
-
- hheeaaddeerrss
- When you start up _M_a_i_l to read your mail, it lists the
- message headers that you have. These headers tell you
- who each message is from, when they were received, how
- many lines and characters each message is, and the
- "Subject:" header field of each message, if present.
- In addition, _M_a_i_l tags the message header of each mes-
- sage that has been the object of the pprreesseerrvvee command
- with a "P." Messages that have been ssaavveedd or wwrriitttteenn
- are flagged with a "*." Finally, ddeelleetteedd messages are
- not printed at all. If you wish to reprint the current
- list of message headers, you can do so with the hheeaaddeerrss
- command. The hheeaaddeerrss command (and thus the initial
- header listing) only lists the first so many message
- headers. The number of headers listed depends on the
- speed of your terminal. This can be overridden by
- specifying the number of headers you want with the _w_i_n_-
- _d_o_w option. _M_a_i_l maintains a notion of the current
- "window" into your messages for the purposes of print-
- ing headers. Use the zz command to move forward and
- back a window. You can move _M_a_i_l_'_s notion of the cur-
- rent window directly to a particular message by using,
- for example,
-
- headers 40
-
- to move _M_a_i_l_'_s attention to the messages around message
- 40. If a ``+'' argument is given, then the next
- screenful of message headers is printed, and if a ``-''
- argument is given, the previous screenful of message
- headers is printed. HHeeaaddeerrss can be abbreviated to hh.
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--2244 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- hheellpp
- Print a brief and usually out of date help message
- about the commands in _M_a_i_l. The _m_a_n page for _m_a_i_l is
- usually more up-to-date than either the help message or
- this manual. It is also a synonym for ??.
-
- hhoolldd
- Arrange to hold a list of messages in the system mail-
- box, instead of moving them to the file _m_b_o_x in your
- home directory. If you set the binary option _h_o_l_d,
- this will happen by default. It does not override the
- ddeelleettee command. HHoolldd can be abbreviated to hhoo.
-
- iiff Commands in your ".mailrc" file can be executed condi-
- tionally depending on whether you are sending or
- receiving mail with the iiff command. For example, you
- can do:
-
- if receive
- _c_o_m_m_a_n_d_s...
- endif
-
- An eellssee form is also available:
-
- if send
- _c_o_m_m_a_n_d_s...
- else
- _c_o_m_m_a_n_d_s...
- endif
-
- Note that the only allowed conditions are rreecceeiivvee and
- sseenndd.
-
- iiggnnoorree
- NN..BB..:: _I_g_n_o_r_e has been superseded by _r_e_t_a_i_n_.
- Add the list of header fields named to the _i_g_n_o_r_e _l_i_s_t.
- Header fields in the ignore list are not printed on
- your terminal when you print a message. This allows
- you to suppress printing of certain machine-generated
- header fields, such as _V_i_a which are not usually of
- interest. The TTyyppee and PPrriinntt commands can be used to
- print a message in its entirety, including ignored
- fields. If iiggnnoorree is executed with no arguments, it
- lists the current set of ignored fields.
-
- lliisstt
- List the valid _M_a_i_l commands. LLiisstt can be abbreviated
- to ll.
-
- mmaaiill
- Send mail to one or more people. If you have the _a_s_k
- option set, _M_a_i_l will prompt you for a subject to your
- message. Then you can type in your message, using
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--2255
-
-
- tilde escapes as described in section 4 to edit, print,
- or modify your message. To signal your satisfaction
- with the message and send it, type control-d at the
- beginning of a line, or a . alone on a line if you set
- the option _d_o_t. To abort the message, type two inter-
- rupt characters (RUBOUT by default) in a row or use the
- ~~qq escape. The mmaaiill command can be abbreviated to mm.
-
- mmbbooxx
- Indicate that a list of messages be sent to _m_b_o_x in
- your home directory when you quit. This is the default
- action for messages if you do _n_o_t have the _h_o_l_d option
- set.
-
- nneexxtt or ++
- The nneexxtt command goes to the next message and types it.
- If given a message list, nneexxtt goes to the first such
- message and types it. Thus,
-
- next root
-
- goes to the next message sent by "root" and types it.
- The nneexxtt command can be abbreviated to simply a new-
- line, which means that one can go to and type a message
- by simply giving its message number or one of the magic
- characters "^" "." or "$". Thus,
-
- .
-
- prints the current message and
-
- 4
-
- prints message 4, as described previously. NNeexxtt can be
- abbreviated to nn.
-
- pprreesseerrvvee
- Same as hhoolldd. Cause a list of messages to be held in
- your system mailbox when you quit. PPrreesseerrvvee can be
- abbreviated to pprree.
-
- pprriinntt
- Print the specified messages. If the ccrrtt variable is
- set, messages longer than the number of lines it indi-
- cates are paged through the command specified by the
- PPAAGGEERR variable. The pprriinntt command can be abbreviated
- to pp.
-
- qquuiitt
- Terminates the session, saving all undeleted, unsaved
- and unwritten messages in the user's _m_b_o_x file in their
- login directory (messages marked as having been read),
- preserving all messages marked with hhoolldd or pprreesseerrvvee or
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--2266 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- never referenced in their system mailbox. Any messages
- that were deleted, saved, written or saved to _m_b_o_x are
- removed from their system mailbox. If new mail has
- arrived during the session, the message ``You have new
- mail'' is given. If given while editing a mailbox file
- with the --ff flag, then the edit file is rewritten. A
- return to the Shell is effected, unless the rewrite of
- edit file fails, in which case the user can escape with
- the eexxiitt command. QQuuiitt can be abbreviated to qq.
-
- rreeppllyy or rreessppoonndd
- Frame a reply to a single message. The reply will be
- sent to the person who sent you the message (to which
- you are replying), plus all the people who received the
- original message, except you. You can add people using
- the ~~tt, ~~cc and ~~bb tilde escapes. The subject in your
- reply is formed by prefacing the subject in the origi-
- nal message with "Re:" unless it already began thus.
- If the original message included a "reply-to" header
- field, the reply will go _o_n_l_y to the recipient named by
- "reply-to." You type in your message using the same
- conventions available to you through the mmaaiill command.
- The rreeppllyy (and rreessppoonndd) command can be abbreviated to
- rr.
-
- rreettaaiinn
- Add the list of header fields named to the _r_e_t_a_i_n_e_d
- _l_i_s_t. Only the header fields in the retain list are
- shown on your terminal when you print a message. All
- other header fields are suppressed. The TTyyppee and PPrriinntt
- commands can be used to print a message in its
- entirety. If rreettaaiinn is executed with no arguments, it
- lists the current set of retained fields.
-
- ssaavvee
- It is often useful to be able to save messages on
- related topics in a file. The ssaavvee command gives you
- the ability to do this. The ssaavvee command takes as an
- argument a list of message numbers, followed by the
- name of the file in which to save the messages. The
- messages are appended to the named file, thus allowing
- one to keep several messages in the file, stored in the
- order they were put there. The filename in quotes,
- followed by the line count and character count is
- echoed on the user's terminal. An example of the ssaavvee
- command relative to our running example is:
-
- s 1 2 tuitionmail
-
- SSaavveedd messages are not automatically saved in _m_b_o_x at
- quit time, nor are they selected by the nneexxtt command
- described above, unless explicitly specified. SSaavvee can
- be abbreviated to ss.
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--2277
-
-
- sseett
- Set an option or give an option a value. Used to cus-
- tomize _M_a_i_l. Section 5.3 contains a list of the
- options. Options can be _b_i_n_a_r_y, in which case they are
- _o_n or _o_f_f, or _v_a_l_u_e_d. To set a binary option _o_p_t_i_o_n
- _o_n, do
-
- set option
-
- To give the valued option _o_p_t_i_o_n the value _v_a_l_u_e, do
-
- set option=value
-
- There must be no space before or after the ``='' sign.
- If no arguments are given, all variable values are
- printed. Several options can be specified in a single
- sseett command. SSeett can be abbreviated to ssee.
-
- sshheellll
- The sshheellll command allows you to escape to the shell.
- SShheellll invokes an interactive shell and allows you to
- type commands to it. When you leave the shell, you
- will return to _M_a_i_l. The shell used is a default
- assumed by _M_a_i_l; you can override this default by set-
- ting the valued option "SHELL," eg:
-
- set SHELL=/bin/csh
-
- SShheellll can be abbreviated to sshh.
-
- ssiizzee
- Takes a message list and prints out the size in charac-
- ters of each message.
-
- ssoouurrccee
- The ssoouurrccee command reads _m_a_i_l commands from a file. It
- is useful when you are trying to fix your ".mailrc"
- file and you need to re-read it. SSoouurrccee can be abbre-
- viated to ssoo.
-
- ttoopp
- The ttoopp command takes a message list and prints the
- first five lines of each addressed message. If you
- wish, you can change the number of lines that ttoopp
- prints out by setting the valued option "toplines." On
- a CRT terminal,
-
- set toplines=10
-
- might be preferred. TToopp can be abbreviated to ttoo.
-
- ttyyppee
- Same as pprriinntt. Takes a message list and types out each
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--2288 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- message on the terminal. The ttyyppee command can be
- abbreviated to tt.
-
- uunnddeelleettee
- Takes a message list and marks each message as _n_o_t
- being deleted. UUnnddeelleettee can be abbreviated to uu.
-
- uunnrreeaadd
- Takes a message list and marks each message as _n_o_t hav-
- ing been read. UUnnrreeaadd can be abbreviated to UU.
-
- uunnsseett
- Takes a list of option names and discards their remem-
- bered values; the inverse of sseett .
-
- vviissuuaall
- It is often useful to be able to invoke one of two edi-
- tors, based on the type of terminal one is using. To
- invoke a display oriented editor, you can use the
- vviissuuaall command. The operation of the vviissuuaall command is
- otherwise identical to that of the eeddiitt command.
-
- Both the eeddiitt and vviissuuaall commands assume some default
- text editors. These default editors can be overridden
- by the valued options "EDITOR" and "VISUAL" for the
- standard and screen editors. You might want to do:
-
- set EDITOR=/usr/ucb/ex VISUAL=/usr/ucb/vi
-
- VViissuuaall can be abbreviated to vv.
-
- wwrriittee
- The ssaavvee command always writes the entire message,
- including the headers, into the file. If you want to
- write just the message itself, you can use the wwrriittee
- command. The wwrriittee command has the same syntax as the
- ssaavvee command, and can be abbreviated to simply ww.
- Thus, we could write the second message by doing:
-
- w 2 file.c
-
- As suggested by this example, the wwrriittee command is use-
- ful for such tasks as sending and receiving source pro-
- gram text over the message system. The filename in
- quotes, followed by the line count and character count
- is echoed on the user's terminal.
-
- zz _M_a_i_l presents message headers in windowfuls as
- described under the hheeaaddeerrss command. You can move
- _M_a_i_l_'_s attention forward to the next window by giving
- the
-
- z+
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--2299
-
-
- command. Analogously, you can move to the previous
- window with:
-
- z-
-
-
- 55..33.. CCuussttoomm ooppttiioonnss
-
- Throughout this manual, we have seen examples of binary
- and valued options. This section describes each of the
- options in alphabetical order, including some that you have
- not seen yet. To avoid confusion, please note that the
- options are either all lower case letters or all upper case
- letters. When I start a sentence such as: "Ask" causes _M_a_i_l
- to prompt you for a subject header, I am only capitalizing
- "ask" as a courtesy to English.
-
- EEDDIITTOORR
- The valued option "EDITOR" defines the pathname of the
- text editor to be used in the eeddiitt command and ~e. If
- not defined, a standard editor is used.
-
- PPAAGGEERR
- Pathname of the program to use for paginating output
- when it exceeds _c_r_t lines. A default paginator is used
- if this option is not defined.
-
- SSHHEELLLL
- The valued option "SHELL" gives the path name of your
- shell. This shell is used for the !! command and ~!
- escape. In addition, this shell expands file names
- with shell metacharacters like * and ? in them.
-
- VVIISSUUAALL
- The valued option "VISUAL" defines the pathname of the
- screen editor to be used in the vviissuuaall command and ~v
- escape. A standard screen editor is used if you do not
- define one.
-
- aappppeenndd
- The "append" option is binary and causes messages saved
- in _m_b_o_x to be appended to the end rather than
- prepended. Normally, _M_a_i_l will put messages in _m_b_o_x in
- the same order that the system puts messages in your
- system mailbox. By setting "append," you are request-
- ing that _m_b_o_x be appended to regardless. It is in any
- event quicker to append.
-
- aasskk
- "Ask" is a binary option which causes _M_a_i_l to prompt
- you for the subject of each message you send. If you
- respond with simply a newline, no subject field will be
- sent.
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--3300 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- aasskkcccc
- "Askcc" is a binary option which causes you to be
- prompted for additional carbon copy recipients at the
- end of each message. Responding with a newline shows
- your satisfaction with the current list.
-
- aauuttoopprriinntt
- "Autoprint" is a binary option which causes the ddeelleettee
- command to behave like ddpp -- thus, after deleting a
- message, the next one will be typed automatically.
- This is useful when quickly scanning and deleting mes-
- sages in your mailbox.
-
- ccrrtt
- The valued option is used as a threshold to determine
- how long a message must be before PPAAGGEERR is used to read
- it.
-
- ddeebbuugg
- The binary option "debug" causes debugging information
- to be displayed. Use of this option is the same as
- using the --dd command line flag.
-
- ddoott
- "Dot" is a binary option which, if set, causes _M_a_i_l to
- interpret a period alone on a line as the terminator of
- the message you are sending.
-
- eessccaappee
- To allow you to change the escape character used when
- sending mail, you can set the valued option "escape."
- Only the first character of the "escape" option is
- used, and it must be doubled if it is to appear as the
- first character of a line of your message. If you
- change your escape character, then ~ loses all its spe-
- cial meaning, and need no longer be doubled at the
- beginning of a line.
-
- ffoollddeerr
- The name of the directory to use for storing folders of
- messages. If this name begins with a `/' _M_a_i_l consid-
- ers it to be an absolute pathname; otherwise, the
- folder directory is found relative to your home direc-
- tory.
-
- hhoolldd
- The binary option "hold" causes messages that have been
- read but not manually dealt with to be held in the sys-
- tem mailbox. This prevents such messages from being
- automatically swept into your _m_b_o_x file.
-
- iiggnnoorree
- The binary option "ignore" causes RUBOUT characters
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--3311
-
-
- from your terminal to be ignored and echoed as @'s
- while you are sending mail. RUBOUT characters retain
- their original meaning in _M_a_i_l command mode. Setting
- the "ignore" option is equivalent to supplying the --ii
- flag on the command line as described in section 6.
-
- iiggnnoorreeeeooff
- An option related to "dot" is "ignoreeof" which makes
- _M_a_i_l refuse to accept a control-d as the end of a mes-
- sage. "Ignoreeof" also applies to _M_a_i_l command mode.
-
- kkeeeepp
- The "keep" option causes _M_a_i_l to truncate your system
- mailbox instead of deleting it when it is empty. This
- is useful if you elect to protect your mailbox, which
- you would do with the shell command:
-
- chmod 600 /usr/spool/mail/yourname
-
- where _y_o_u_r_n_a_m_e is your login name. If you do not do
- this, anyone can probably read your mail, although peo-
- ple usually don't.
-
- kkeeeeppssaavvee
- When you ssaavvee a message, _M_a_i_l usually discards it when
- you qquuiitt. To retain all saved messages, set the "keep-
- save" option.
-
- mmeettoooo
- When sending mail to an alias, _M_a_i_l makes sure that if
- you are included in the alias, that mail will not be
- sent to you. This is useful if a single alias is being
- used by all members of the group. If however, you wish
- to receive a copy of all the messages you send to the
- alias, you can set the binary option "metoo."
-
- nnoohheeaaddeerr
- The binary option "noheader" suppresses the printing of
- the version and headers when _M_a_i_l is first invoked.
- Setting this option is the same as using --NN on the com-
- mand line.
-
- nnoossaavvee
- Normally, when you abort a message with two RUBOUTs,
- _M_a_i_l copies the partial letter to the file "dead.let-
- ter" in your home directory. Setting the binary option
- "nosave" prevents this.
-
- RReeppllyyaallll
- Reverses the sense of _r_e_p_l_y and _R_e_p_l_y commands.
-
- qquuiieett
- The binary option "quiet" suppresses the printing of
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--3322 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- the version when _M_a_i_l is first invoked, as well as
- printing the for example "Message 4:" from the ttyyppee
- command.
-
- rreeccoorrdd
- If you love to keep records, then the valued option
- "record" can be set to the name of a file to save your
- outgoing mail. Each new message you send is appended
- to the end of the file.
-
- ssccrreeeenn
- When _M_a_i_l initially prints the message headers, it
- determines the number to print by looking at the speed
- of your terminal. The faster your terminal, the more
- it prints. The valued option "screen" overrides this
- calculation and specifies how many message headers you
- want printed. This number is also used for scrolling
- with the zz command.
-
- sseennddmmaaiill
- To use an alternate mail delivery system, set the
- "sendmail" option to the full pathname of the program
- to use. Note: this is not for everyone! Most people
- should use the default delivery system.
-
- ttoopplliinneess
- The valued option "toplines" defines the number of
- lines that the "top" command will print out instead of
- the default five lines.
-
- vveerrbboossee
- The binary option "verbose" causes _M_a_i_l to invoke send-
- mail with the --vv flag, which causes it to go into ver-
- bose mode and announce expansion of aliases, etc. Set-
- ting the "verbose" option is equivalent to invoking
- _M_a_i_l with the --vv flag as described in section 6.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--3333
-
-
- 66.. CCoommmmaanndd lliinnee ooppttiioonnss
-
- This section describes command line options for _M_a_i_l
- and what they are used for.
-
- -N Suppress the initial printing of headers.
-
- -d Turn on debugging information. Not of general inter-
- est.
-
- -f file
- Show the messages in _f_i_l_e instead of your system mail-
- box. If _f_i_l_e is omitted, _M_a_i_l reads _m_b_o_x in your home
- directory.
-
- -i Ignore tty interrupt signals. Useful on noisy phone
- lines, which generate spurious RUBOUT or DELETE charac-
- ters. It's usually more effective to change your
- interrupt character to control-c, for which see the
- _s_t_t_y shell command.
-
- -n Inhibit reading of /usr/lib/Mail.rc. Not generally
- useful, since /usr/lib/Mail.rc is usually empty.
-
- -s string
- Used for sending mail. _S_t_r_i_n_g is used as the subject
- of the message being composed. If _s_t_r_i_n_g contains
- blanks, you must surround it with quote marks.
-
- -u name
- Read _n_a_m_e_s_'_s mail instead of your own. Unwitting oth-
- ers often neglect to protect their mailboxes, but dis-
- cretion is advised. Essentially, --uu uusseerr is a shorthand
- way of doing --ff //uussrr//ssppooooll//mmaaiill//uusseerr.
-
- -v Use the --vv flag when invoking sendmail. This feature
- may also be enabled by setting the the option "ver-
- bose".
-
- The following command line flags are also recognized,
- but are intended for use by programs invoking _M_a_i_l and not
- for people.
-
- -T file
- Arrange to print on _f_i_l_e the contents of the _a_r_t_i_c_l_e_-_i_d
- fields of all messages that were either read or
- deleted. --TT is for the _r_e_a_d_n_e_w_s program and should NOT
- be used for reading your mail.
-
- -h number
- Pass on hop count information. _M_a_i_l will take the num-
- ber, increment it, and pass it with --hh to the mail
- delivery system. --hh only has effect when sending mail
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--3344 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- and is used for network mail forwarding.
-
- -r name
- Used for network mail forwarding: interpret _n_a_m_e as
- the sender of the message. The _n_a_m_e and --rr are simply
- sent along to the mail delivery system. Also, _M_a_i_l
- will wait for the message to be sent and return the
- exit status. Also restricts formatting of message.
-
- Note that --hh and --rr, which are for network mail for-
- warding, are not used in practice since mail forwarding is
- now handled separately. They may disappear soon.
-
- 77.. FFoorrmmaatt ooff mmeessssaaggeess
-
- This section describes the format of messages. Mes-
- sages begin with a _f_r_o_m line, which consists of the word
- "From" followed by a user name, followed by anything, fol-
- lowed by a date in the format returned by the _c_t_i_m_e library
- routine described in section 3 of the Unix Programmer's Man-
- ual. A possible _c_t_i_m_e format date is:
-
- Tue Dec 1 10:58:23 1981
-
- The _c_t_i_m_e date may be optionally followed by a single space
- and a time zone indication, which should be three capital
- letters, such as PDT.
-
- Following the _f_r_o_m line are zero or more _h_e_a_d_e_r _f_i_e_l_d
- lines. Each header field line is of the form:
-
- name: information
-
- _N_a_m_e can be anything, but only certain header fields are
- recognized as having any meaning. The recognized header
- fields are: _a_r_t_i_c_l_e_-_i_d, _b_c_c, _c_c, _f_r_o_m, _r_e_p_l_y_-_t_o, _s_e_n_d_e_r,
- _s_u_b_j_e_c_t, and _t_o. Other header fields are also significant
- to other systems; see, for example, the current Arpanet mes-
- sage standard for much more information on this topic. A
- header field can be continued onto following lines by making
- the first character on the following line a space or tab
- character.
-
- If any headers are present, they must be followed by a
- blank line. The part that follows is called the _b_o_d_y of the
- message, and must be ASCII text, not containing null charac-
- ters. Each line in the message body must be no longer than
- 512 characters and terminated with an ASCII newline charac-
- ter. If binary data must be passed through the mail system,
- it is suggested that this data be encoded in a system which
- encodes six bits into a printable character (i.e.: uuen-
- code). For example, one could use the upper and lower case
- letters, the digits, and the characters comma and period to
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--3355
-
-
- make up the 64 characters. Then, one can send a 16-bit
- binary number as three characters. These characters should
- be packed into lines, preferably lines about 70 characters
- long as long lines are transmitted more efficiently.
-
- The message delivery system always adds a blank line to
- the end of each message. This blank line must not be
- deleted.
-
- The UUCP message delivery system sometimes adds a blank
- line to the end of a message each time it is forwarded
- through a machine.
-
- It should be noted that some network transport proto-
- cols enforce limits to the lengths of messages.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--3366 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- 88.. GGlloossssaarryy
-
- This section contains the definitions of a few phrases
- peculiar to _M_a_i_l.
-
- _a_l_i_a_s
- An alternative name for a person or list of people.
-
- _f_l_a_g An option, given on the command line of _M_a_i_l, prefaced
- with a -. For example, --ff is a flag.
-
- _h_e_a_d_e_r _f_i_e_l_d
- At the beginning of a message, a line which contains
- information that is part of the structure of the mes-
- sage. Popular header fields include _t_o, _c_c, and _s_u_b_-
- _j_e_c_t.
-
- _m_a_i_l
- A collection of messages. Often used in the phrase,
- "Have you read your mail?"
-
- _m_a_i_l_b_o_x
- The place where your mail is stored, typically in the
- directory /usr/spool/mail.
-
- _m_e_s_s_a_g_e
- A single letter from someone, initially stored in your
- _m_a_i_l_b_o_x.
-
- _m_e_s_s_a_g_e _l_i_s_t
- A string used in _M_a_i_l command mode to describe a
- sequence of messages.
-
- _o_p_t_i_o_n
- A piece of special purpose information used to tailor
- _M_a_i_l to your taste. Options are specified with the sseett
- command.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--3377
-
-
- 99.. SSuummmmaarryy ooff ccoommmmaannddss,, ooppttiioonnss,, aanndd eessccaappeess
-
- This section gives a quick summary of the _M_a_i_l com-
- mands, binary and valued options, and tilde escapes.
-
- The following table describes the commands:
-
- Command _D_e_s_c_r_i_p_t_i_o_n
- --------------------------------------------------------------------------
- ++ Same as nneexxtt
- -- Back up to previous message
- ?? Print brief summary of _M_a_i_l commands
- !! Single command escape to shell
- PPrriinntt Type message with ignored fields
- RReeppllyy Reply to author of message only
- RReessppoonndd Same as RReeppllyy
- TTyyppee Type message with ignored fields
- aalliiaass Define an alias as a set of user names
- aalltteerrnnaatteess List other names you are known by
- cchhddiirr Change working directory, home by default
- ccooppyy Copy a message to a file or folder
- ddeelleettee Delete a list of messages
- ddpp Same as ddtt
- ddtt Delete current message, type next message
- eeddiitt Edit a list of messages
- eellssee Start of else part of conditional; see iiff
- eennddiiff End of conditional statement; see iiff
- eexxiitt Leave mail without changing anything
- ffiillee Interrogate/change current mail file
- ffoollddeerr Same as ffiillee
- ffoollddeerrss List the folders in your folder directory
- ffrroomm List headers of a list of messages
- hheeaaddeerrss List current window of messages
- hheellpp Same as ??
- hhoolldd Same as pprreesseerrvvee
- iiff Conditional execution of _M_a_i_l commands
- iiggnnoorree Set/examine list of ignored header fields
- lliisstt List valid _M_a_i_l commands
- llooccaall List other names for the local host
- mmaaiill Send mail to specified names
- mmbbooxx Arrange to save a list of messages in _m_b_o_x
- nneexxtt Go to next message and type it
- pprreesseerrvvee Arrange to leave list of messages in system mailbox
- pprriinntt Print messages
- qquuiitt Leave _M_a_i_l; update system mailbox, _m_b_o_x as appropriate
- rreeppllyy Compose a reply to a message
- rreessppoonndd Same as rreeppllyy
- rreettaaiinn Supersedes iiggnnoorree
- ssaavvee Append messages, headers included, on a file
- sseett Set binary or valued options
-
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--3388 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
- sshheellll Invoke an interactive shell
- ssiizzee Prints out size of message list
- ssoouurrccee Read _m_a_i_l commands from a file
- ttoopp Print first so many (5 by default) lines of list of messages
- ttyyppee Same as pprriinntt
- uunnddeelleettee Undelete list of messages
- uunnrreeaadd Marks list of messages as not been read
- uunnsseett Undo the operation of a sseett
- vviissuuaall Invoke visual editor on a list of messages
- wwrriittee Append messages to a file, don't include headers
- xxiitt Same as eexxiitt
- zz Scroll to next/previous screenful of headers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MMaaiill RReeffeerreennccee MMaannuuaall UUSSDD::77--3399
-
-
-
- The following table describes the options. Each
- option is shown as being either a binary or valued op-
- tion.
-
- Option _T_y_p_e _D_e_s_c_r_i_p_t_i_o_n
- ---------------------------------------------------------------------------
- EDITOR _v_a_l_u_e_d Pathname of editor for ~e and eeddiitt
- PAGER _v_a_l_u_e_d Pathname of paginator for PPrriinntt, pprriinntt, TTyyppee and ttyyppee
- SHELL _v_a_l_u_e_d Pathname of shell for sshheellll, ~! and !!
- VISUAL _v_a_l_u_e_d Pathname of screen editor for ~v, vviissuuaall
- append _b_i_n_a_r_y Always append messages to end of _m_b_o_x
- ask _b_i_n_a_r_y Prompt user for Subject: field when sending
- askcc _b_i_n_a_r_y Prompt user for additional Cc's at end of message
- autoprint _b_i_n_a_r_y Print next message after ddeelleettee
- crt _v_a_l_u_e_d Minimum number of lines before using PPAAGGEERR
- debug _b_i_n_a_r_y Print out debugging information
- dot _b_i_n_a_r_y Accept . alone on line to terminate message input
- escape _v_a_l_u_e_d Escape character to be used instead of ~
- folder _v_a_l_u_e_d Directory to store folders in
- hold _b_i_n_a_r_y Hold messages in system mailbox by default
- ignore _b_i_n_a_r_y Ignore RUBOUT while sending mail
- ignoreeof _b_i_n_a_r_y Don't terminate letters/command input with DD
- keep _b_i_n_a_r_y Don't unlink system mailbox when empty
- keepsave _b_i_n_a_r_y Don't delete ssaavveed messages by default
- metoo _b_i_n_a_r_y Include sending user in aliases
- noheader _b_i_n_a_r_y Suppress initial printing of version and headers
- nosave _b_i_n_a_r_y Don't save partial letter in _d_e_a_d_._l_e_t_t_e_r
- quiet _b_i_n_a_r_y Suppress printing of _M_a_i_l version and message numbers
- record _v_a_l_u_e_d File to save all outgoing mail in
- screen _v_a_l_u_e_d Size of window of message headers for zz, etc.
- sendmail _v_a_l_u_e_d Choose alternate mail delivery system
- toplines _v_a_l_u_e_d Number of lines to print in ttoopp
- verbose _b_i_n_a_r_y Invoke sendmail with the --vv flag
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- UUSSDD::77--4400 MMaaiill RReeffeerreennccee MMaannuuaall
-
-
-
- The following table summarizes the tilde escapes
- available while sending mail.
-
- Escape _A_r_g_u_m_e_n_t_s _D_e_s_c_r_i_p_t_i_o_n
- ----------------------------------------------------------------
- ~! _c_o_m_m_a_n_d Execute shell command
- ~b _n_a_m_e _._._. Add names to "blind" Cc: list
- ~c _n_a_m_e _._._. Add names to Cc: field
- ~d Read _d_e_a_d_._l_e_t_t_e_r into message
- ~e Invoke text editor on partial message
- ~f _m_e_s_s_a_g_e_s Read named messages
- ~h Edit the header fields
- ~m _m_e_s_s_a_g_e_s Read named messages, right shift by tab
- ~p Print message entered so far
- ~q Abort entry of letter; like RUBOUT
- ~r _f_i_l_e_n_a_m_e Read file into message
- ~s _s_t_r_i_n_g Set Subject: field to _s_t_r_i_n_g
- ~t _n_a_m_e _._._. Add names to To: field
- ~v Invoke screen editor on message
- ~w _f_i_l_e_n_a_m_e Write message on file
- ~| _c_o_m_m_a_n_d Pipe message through _c_o_m_m_a_n_d
- ~: _M_a_i_l _c_o_m_m_a_n_d Execute a _M_a_i_l command
- ~~ _s_t_r_i_n_g Quote a ~ in front of _s_t_r_i_n_g
-
-
-
-
- The following table shows the command line flags
- that _M_a_i_l accepts:
-
- Flag Description
- ------------------------------------------------------------
- -N Suppress the initial printing of headers
- -T _f_i_l_e Article-id's of read/deleted messages to _f_i_l_e
- -d Turn on debugging
- -f _f_i_l_e Show messages in _f_i_l_e or _~_/_m_b_o_x
- -h _n_u_m_b_e_r Pass on hop count for mail forwarding
- -i Ignore tty interrupt signals
- -n Inhibit reading of /usr/lib/Mail.rc
- -r _n_a_m_e Pass on _n_a_m_e for mail forwarding
- -s _s_t_r_i_n_g Use _s_t_r_i_n_g as subject in outgoing mail
- -u _n_a_m_e Read _n_a_m_e_'_s mail instead of your own
- -v Invoke sendmail with the --vv flag
-
-
-
- Notes: --TT, --dd, --hh, and --rr are not for human use.
-
-
-
-
-
-
-
-
-
-
-
-